1. Field of the Invention
The present invention relates to an error correction method for correcting an error of composite coded data having at least one second symbol between first symbols forming first coded data which is error-correction-coded using a first error correction code, between synchronization data pieces for synchronizing data, or between the first symbol and the synchronization data, the second symbol forming second coded data which is error-correction-coded using a second error correction code having a lower degree of redundancy than the first error correction code. The present invention also relates to a reproduction apparatus for carrying out such an error correction method.
2. Description of the Related Art
Optical discs which are representative recording mediums have recently increased in density and capacity, and thus require improved reliability. Various error correction methods for correcting errors caused by defects of a recording medium itself or dust or scratches on the recording medium have been proposed (for example, U.S. Pat. No. 6,367,049B1, pages 5 to 6 and FIG. 5; and Japanese National-Phase PCT Laid-Open Publication No. 2001-515642, pages 10 to 11 and FIG. 2).
FIG. 2 shows an exemplary composite coded data piece 203, together with a first coded data piece 201 and a second coded data piece 202. With reference to FIG. 2, an error correction method will be described.
The composite coded data piece 203 includes first coded data pieces 206, 207, 208, 209, 210 and 211 which have been error-correction-coded using a first error correction code; and second coded data pieces 212, 213, 214, 215, 216, 217, 218 and 219 which have been error-correction-coded using a second error correction code having a lower degree of redundancy than the first error correction code. The composite coded data piece 203 also includes synchronization data pieces 204 and 205 for synchronizing the first coded data piece and the second coded data piece.
The first coded data piece 201 is error-corrected using 24 first error correction codes. The second coded data piece 202 is error-correction-coded using 304 second error correction codes. The first coded data piece 201 is divided into the plurality of first coded data pieces 206 through 211. The second coded data piece 202 is divided into the plurality of second coded data pieces 212 through 219. The first coded data pieces 206 through 211 each include a plurality of first symbols, and the second coded data pieces 212 through 219 each include a plurality of second symbols.
Between two adjacent synchronization data pieces, among a plurality of synchronization data pieces, at least one first coded data piece is provided. For example, as shown in FIG. 2, the first coded data pieces 206 through 208 including the first symbols are arranged between two adjacent synchronization data pieces 204 and 205. Thus, at least one first symbol is provided between two adjacent synchronization data pieces.
Between the synchronization data piece and the first coded data piece, at least one second coded data piece is provided. Between two adjacent first coded data pieces, at least one second coded data piece is provided. For example, as shown in FIG. 2, the second coded data piece 212 is provided between the synchronization data piece 204 and the first coded data piece 206. The second coded data piece 213 is provided between two adjacent first coded data pieces 206 and 207. Thus, at least one second symbol is provided between the synchronization data piece and the first symbol, and between two first symbols. In FIG. 2, 38 second symbols are arranged between two first symbols adjacent to each other in a recording direction 220. 38 second symbols are arranged between the synchronization data piece and the first symbol adjacent to each other in the recording direction 220.
The first coded data piece 201 and the second coded data piece 202 are respectively divided into the first coded data pieces 206 through 211 and the second coded data pieces 212 through 219 and thus arranged, such that local error areas on a recording medium are dispersed in the composite coded data piece 203. (Hereinafter, such a process of arranging the data in a dispersed manner will be referred to as “interleaving”.)
On the recording medium, the above-described composite coded data pieces 203 are arranged in the recording direction 220.
The first error correction code is a Reed Solomon code over an extension field obtained by adding root α of the primitive polynomial (expression 1) to a prime field GF(2), having 30 information bytes and 32 parity bytes. The second error correction code is a Reed Solomon code over an extension field obtained by adding root α of the primitive polynomial (expression 1) to a prime field GF(2), having 216 information bytes and 32 parity bytes.x8+x4+x3+x2+1=0  expression 1
FIG. 3 shows a flowchart 30 illustrating an error correction method of the composite corrected data piece 203.
In step 301, the first coded data piece 201 is error-corrected. At this point, the first coded data piece 201 is subjected to de-interleaving, which is the opposite transform to interleaving.
In step 302, erasure locator information, which indicates a position of erasure in the second coded data piece 202, is generated. The erasure locator information can be generated by, for example, one of the following three methods.
FIGS. 4 through 6 show the state of the synchronization data pieces or the first symbols when the second coded data piece is determined to represent erasure. In FIGS. 4 through 6, mark “X” represents that no synchronization data piece is detected or that the first symbol is incorrect. Mark “◯” represents that synchronization data is detected or that the first symbol is correct. FIGS. 4 through 6 show a portion of the data corresponding to one row (or a plurality of rows), in the recording direction, of the composite corrected data piece 203 which is arranged in rows and columns.
With reference to FIG. 4, method 1 will be described. When, as shown in FIG. 4, the detection states of both the synchronization data pieces 401 and 402 which are adjacent to each other along a recording direction 404 (synchronization data pieces 401 and 402 maybe first symbols) are “X”, a second coded data piece 403 between the synchronization data pieces 401 and 402 is determined to represent erasure. Thus, erasure locator information representing such a determination result is generated.
With reference to FIG. 5, method 2 will be described. When, as shown in FIG. 5, the detection state of the synchronization data pieces 501, 502 and 503 which are consecutive in a recording direction 506 (synchronization data pieces 501, 502 and 503 may be first symbols) is “X◯X”, the second coded data piece 504 between the synchronization data pieces 501 and 502, and the second coded data piece 505 between the synchronization data pieces 502 and 503, are determined to represent erasure. Thus, erasure locator information representing such a determination result is generated.
With reference to FIG. 6, method 3 will be described. When, as shown in FIG. 6, the detection states of three or more consecutive first symbols 602 through 604 between synchronization data pieces 601 and 605 which are adjacent in a recording direction 610 (synchronization data 601 and 605 may be first symbols) are “X”, the second coded data pieces 606 through 609, including the second coded data piece 606 between the first symbol 602 and the synchronization data 601 (detection state: “◯”) and the second coded data piece 609 between the first symbol 604 and the synchronization data 605 (detection state: “◯”), are determined to represent erasure. Thus, erasure locator information representing such a determination result is generated.
In step 303 (FIG. 3), erasure locator information generated in step 302 is used to perform erasure error correction of the second coded data pieces in the range represented by expression 2.ε+2ν≦32  expression 2
Here, ε is the number of erasure positions, and ν is the number of errors other than erasure.
By the above-described methods for generating erasure locator information, a second coded data piece may become undesirably uncorrectable. FIG. 7 is a partial enlarged view of the composite encoded data piece 203, which shows an example of an error pattern by which the second coded data piece becomes uncorrectable.
Data pieces 701 through 703 are each a first coded data piece or a synchronization data piece. Data pieces 704 through 709 are partial data pieces of the second coded data piece provided in the vicinity of the data piece 702. At the positions of marks “◯” and “X”, one of a partial synchronization data piece, a first symbol or a second symbol is provided. In data pieces 701 through 703, mark “X” represents that no synchronization data is detected or that the first symbol is incorrect. Mark “◯” represents that synchronization data is detected or that the first symbol is correct. In data pieces 704 through 709, mark “X” represents that the second symbol which has been read is incorrect, and the other portions represent that the second symbol which has been read is correct.
It is assumed that the errors as shown in FIG. 7 occur. By the above-described methods for generating erasure locator information, the second symbols, which are incorrect, are not all determined to represent erasure. Since the second coded data is erasure-error-corrected in the range represented by expression 2, only up to 16 errors other than erasure can be corrected. Therefore, the errors of the pattern as shown in FIG. 7 cannot be corrected.
By the above-mentioned methods for generating erasure locator information, the state determination result of synchronization data piece which is used for generating the erasure locator information is either “detected” or “not detected”. When a synchronization data piece is detected with a positional offset, the symbols positioned before such a synchronization data piece are incorrect with a high probability, and the symbols positioned after such a synchronization data piece are correct with a high probability. The reason is that the offset of the synchronization is corrected by a reproduction apparatus, and the symbols positioned after the synchronization data piece detected with a positional offset is read after the offset of synchronization is corrected.
In the case where the state determination result of synchronization data piece is either “detected” or “not detected”, the following occurs. When a synchronization data piece detected with a positional offset is determined to be “detected”, the symbols positioned before such a synchronization data piece may not be determined to represent erasure, despite the fact that these symbols are incorrect. As a result, the incorrect symbols may not be corrected. When a synchronization data piece detected with a positional offset is determined to be “not detected”, even the correct symbols positioned after such a synchronization data piece may be determined to represent erasure. In such a case, the number of erasure positions is increased and the correction may become impossible.